package com.muyu.cloud.commodity.domain.req;

import io.swagger.v3.oas.annotations.media.Schema;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 商品SKU添加请求（新版本）
 *
 * @author <a href="mailto:602048165@qq.com">60204</a>
 * @version 1.0
 * @description: 商品SKU添加请求
 * @date 2025/1/15 11:00
 */
@Schema(description = "商品SKU添加请求")
public class ProductSkuAddNewReq {

    @Schema(description = "SKU编码")
    private String skuCode;

    @Schema(description = "销售价", required = true)
    @NotNull(message = "销售价不能为空")
    private BigDecimal salePrice;

    @Schema(description = "成本价")
    private BigDecimal costPrice;

    @Schema(description = "库存", required = true)
    @NotNull(message = "库存不能为空")
    private Integer stock;

    @Schema(description = "SKU图片")
    private String image;

    @Schema(description = "状态：1正常，0禁用")
    private Integer status = 1;

    @Schema(description = "规格值ID列表（用于生成SKU编码）")
    private java.util.List<Long> specValueIds;

    // Getters and Setters
    public String getSkuCode() {
        return skuCode;
    }

    public void setSkuCode(String skuCode) {
        this.skuCode = skuCode;
    }

    public BigDecimal getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(BigDecimal salePrice) {
        this.salePrice = salePrice;
    }

    public BigDecimal getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(BigDecimal costPrice) {
        this.costPrice = costPrice;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public java.util.List<Long> getSpecValueIds() {
        return specValueIds;
    }

    public void setSpecValueIds(java.util.List<Long> specValueIds) {
        this.specValueIds = specValueIds;
    }
}
